package com.yunzhong.appointment.mapper;

import java.util.List;
import java.util.Map;
import com.yunzhong.appointment.entity.Department;
import com.yunzhong.appointment.util.PageData;
import org.apache.ibatis.annotations.ResultMap;
import org.apache.ibatis.annotations.ResultType;
import org.apache.ibatis.annotations.Select;

import java.util.List;

public interface DepartmentMapper {
    int deleteByPrimaryKey(String dpId);

    int insert(Department record);

    int insertSelective(Department record);

    Department selectByPrimaryKey(String dpId);

    int updateByPrimaryKeySelective(Department record);

    int updateByPrimaryKey(Department record);
    
    /**
     * 
     * @methodName listDeptByDplId
     * @description 根据科室类型主键查询科室
     * @author 石洪刚
     * @time 2017年10月9日 上午9:17:22
     * @param dplId
     * @return
     */
    @Select("select dp_id,dp_name,dpl_id from department where dpl_id = #{dplId}")
    @ResultMap("BaseResultMap")
	List<Department> listDeptByDplId(String dplId);
    /**
     * 
     * @methodName getDeptByName
     * @description 根据科室名称查询科室主键
     * @author 石洪刚
     * @time 2017年10月9日 上午9:56:59
     * @param deptName
     * @return
     */
    @Select("select dp_id from department where dp_name=#{deptName}")
    @ResultType(String.class)
	String getDeptIdByName(String deptName);
    /**
     * 
     * @methodName listDepartment
     * @description 查询部门数据
     * @author 石洪刚
     * @time 2017年11月14日 下午10:05:38
     * @param pd
     * @return
     */
	List<Department> listDepartment(PageData pd);
	/**
	 * 
	 * @methodName listDepartmentName
	 * @description 查询所有部门名称
	 * @author 石洪刚
	 * @time 2017年11月16日 下午4:22:08
	 * @return
	 */
	@Select("select dp_name from department")
	List<String> listDepartmentName();
    /**
     *
     * @methodName queryCountByDept
     * @description 查询年度科室预约数
     * @author 朱洪宇
     * @time 2019年12月20日
     *
     */
    List<Map<String, Object>> queryCountByDept(String data1);
    /**
     *
     * @methodName queryCount
     * @description 查询年预约数
     * @author 朱洪宇
     * @time 2019年12月20日
     *
     */
    List<Map<String, Object>> queryCount();

    /**
     * 根据科室id查询科室名称
     * @param id
     * @return
     */
    Department queryksById(String id);
}